ci: use docs flavor for document generation#1336
Conversation
📦 Container Size AnalysisNote Comparing 📈 Size Comparison Table
|
✅
|
| Descriptor | Linter | Files | Fixed | Errors | Warnings | Elapsed time |
|---|---|---|---|---|---|---|
| ✅ ACTION | actionlint | 23 | 0 | 0 | 0.26s | |
| ✅ DOCKERFILE | hadolint | 4 | 0 | 0 | 0.31s | |
| ✅ JSON | npm-package-json-lint | yes | no | no | 0.57s | |
| ✅ JSON | prettier | 43 | 6 | 0 | 0 | 0.87s |
| ✅ JSON | v8r | 43 | 0 | 0 | 17.19s | |
| ✅ MARKDOWN | markdownlint | 13 | 0 | 0 | 0 | 1.26s |
| ✅ MARKDOWN | markdown-table-formatter | 13 | 0 | 0 | 0 | 0.28s |
| ✅ REPOSITORY | betterleaks | yes | no | no | 1.28s | |
| ✅ REPOSITORY | checkov | yes | no | no | 30.55s | |
| ✅ REPOSITORY | gitleaks | yes | no | no | 1.32s | |
| ✅ REPOSITORY | git_diff | yes | no | no | 0.02s | |
| ✅ REPOSITORY | grype | yes | no | no | 70.56s | |
| osv-scanner | yes | 1 | no | 0.76s | ||
| ✅ REPOSITORY | secretlint | yes | no | no | 2.21s | |
| ✅ REPOSITORY | syft | yes | no | no | 2.73s | |
| ✅ REPOSITORY | trivy | yes | no | no | 15.55s | |
| ✅ REPOSITORY | trivy-sbom | yes | no | no | 0.41s | |
| ✅ REPOSITORY | trufflehog | yes | no | no | 6.66s | |
| lychee | 111 | 4 | 0 | 11.68s | ||
| ✅ YAML | prettier | 32 | 0 | 0 | 0 | 1.42s |
| ✅ YAML | v8r | 32 | 0 | 0 | 15.07s | |
| ✅ YAML | yamllint | 32 | 0 | 0 | 1.44s |
Detailed Issues
⚠️ SPELL / lychee - 4 errors
📝 Summary
---------------------
🔍 Total..........154
🔗 Unique.........126
✅ Successful.....145
⏳ Timeouts.........0
🔀 Redirected......19
👻 Excluded.........0
❓ Unknown..........0
🚫 Errors...........4
⛔ Unsupported......4
Errors in .github/CONTRIBUTING.md
[ERROR] https://www.conventionalcommits.org/en/v1.0.0/ (at 89:64) | Error (cached)
Errors in .github/TOOL_VERSION_ISSUE_TEMPLATE.md
[403] https://developer.arm.com/downloads/-/arm-gnu-toolchain-downloads (at 38:7) | Rejected status code: 403 Forbidden
Errors in .github/workflows/pr-conventional-title.yml
[ERROR] https://www.conventionalcommits.org/en/v1.0.0/ (at 42:95) | Network error: Connection reset by peer (os error 104)
Errors in README.md
[ERROR] https://www.conventionalcommits.org/en/v1.0.0/ (at 212:88) | Error (cached)
Hint: Followed 19 redirects. You might want to consider replacing redirecting URLs with the resolved URLs. Use verbose mode (`-v`/`-vv`) to see redirection details.
Hint: You can configure accepted/rejected response codes with `-a` or `--accept`
⚠️ REPOSITORY / osv-scanner - 1 error
Scanning dir .
Starting filesystem walk for root: /
Scanned .devcontainer/cpp/requirements.txt file and found 20 packages
Scanned .devcontainer/docs/requirements.txt file and found 14 packages
Scanned test/embedded-rust/workspace/cortex-m/Cargo.lock file and found 20 packages
Scanned test/embedded-rust/workspace/cortex-mf/Cargo.lock file and found 20 packages
Scanned test/rust/workspace/cargo/Cargo.lock file and found 1 package
Scanned test/rust/workspace/clippy/Cargo.lock file and found 1 package
Scanned test/rust/workspace/test/Cargo.lock file and found 1 package
Scanned package-lock.json file and found 73 packages
End status: 103 dirs visited, 339 inodes visited, 8 Extract calls, 33.531896ms elapsed, 33.532116ms wall time
Total 3 packages affected by 3 known vulnerabilities (0 Critical, 1 High, 0 Medium, 0 Low, 2 Unknown) from 2 ecosystems.
1 vulnerability can be fixed.
+-------------------------------------+------+-----------+-----------------------+---------+---------------+---------------------------------------------------+
| OSV URL | CVSS | ECOSYSTEM | PACKAGE | VERSION | FIXED VERSION | SOURCE |
+-------------------------------------+------+-----------+-----------------------+---------+---------------+---------------------------------------------------+
| https://osv.dev/RUSTSEC-2026-0110 | | crates.io | bare-metal | 0.2.5 | -- | test/embedded-rust/workspace/cortex-m/Cargo.lock |
| https://osv.dev/RUSTSEC-2026-0110 | | crates.io | bare-metal | 0.2.5 | -- | test/embedded-rust/workspace/cortex-mf/Cargo.lock |
| https://osv.dev/GHSA-3jxr-9vmj-r5cp | 7.7 | npm | brace-expansion (dev) | 5.0.6 | 5.0.7 | package-lock.json |
+-------------------------------------+------+-----------+-----------------------+---------+---------------+---------------------------------------------------+
Notices
📣 MegaLinter 9.5.0 is out! Discover the new features and security recommendations in the release announcement. (Skip this info by defining SECURITY_SUGGESTIONS: false)
See detailed reports in MegaLinter artifacts
You could have the same capabilities but better runtime performances if you use a MegaLinter flavor:
- oxsecurity/megalinter/flavors/salesforce@v9.6.0 (57 linters)
- oxsecurity/megalinter/flavors/javascript@v9.6.0 (63 linters)
Your project could benefit from a custom flavor, which would allow you to run only the linters you need, and thus improve runtime performances. (Skip this info by defining FLAVOR_SUGGESTIONS: false)
- Documentation: Custom Flavors
- Command:
npx mega-linter-runner@9.6.0 --custom-flavor-setup --custom-flavor-linters ACTION_ACTIONLINT,DOCKERFILE_HADOLINT,JSON_V8R,JSON_PRETTIER,JSON_NPM_PACKAGE_JSON_LINT,MARKDOWN_MARKDOWNLINT,MARKDOWN_MARKDOWN_TABLE_FORMATTER,REPOSITORY_CHECKOV,REPOSITORY_GIT_DIFF,REPOSITORY_GITLEAKS,REPOSITORY_BETTERLEAKS,REPOSITORY_GRYPE,REPOSITORY_OSV_SCANNER,REPOSITORY_SECRETLINT,REPOSITORY_SYFT,REPOSITORY_TRIVY,REPOSITORY_TRIVY_SBOM,REPOSITORY_TRUFFLEHOG,SPELL_LYCHEE,YAML_PRETTIER,YAML_YAMLLINT,YAML_V8R

Show us your support by starring ⭐ the repository
There was a problem hiding this comment.
Pull request overview
Adds a new docs devcontainer flavor aimed at documentation generation, and wires it into CI/release automation so it is built, scanned, and maintained like the existing flavors.
Changes:
- Introduces the new
.devcontainer/docsflavor (Dockerfile + pinned apt/pip dependencies + VS Code metadata). - Adds integration tests and sample workspace files to validate PlantUML, Graphviz, and SBDL in the docs image.
- Updates GitHub workflows and release/dependency automation to include the new
docsimage.
Reviewed changes
Copilot reviewed 21 out of 21 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| test/docs/workspace/sample.sbdl | Adds a minimal SBDL model used by docs integration tests. |
| test/docs/workspace/graph.dot | Adds a simple Graphviz graph used by docs integration tests. |
| test/docs/workspace/diagram.puml | Adds a simple PlantUML diagram used by docs integration tests. |
| test/docs/integration-tests.bats | Adds version + functional verification tests for docs tooling. |
| README.md | Documents the new docs flavor and adds it to the published image list. |
| .github/workflows/wc-document-generation.yml | Switches document generation to run inside the docs container. |
| .github/workflows/vulnerability-scan.yml | Includes the docs image in scheduled vulnerability scanning. |
| .github/workflows/update-dependencies.yml | Includes docs in dependency and VS Code extension update automation. |
| .github/workflows/release-build.yml | Includes docs in release build/release-note generation matrix. |
| .github/workflows/pr-image-cleanup.yml | Cleans up PR tags for the docs/base packages as well. |
| .github/workflows/image-cleanup.yml | Cleans up untagged/orphaned docs/base images as well. |
| .github/workflows/build-push-test.yml | Builds/tests the new docs flavor in the main build workflow matrix. |
| .github/RELEASE_TEMPLATE.md | Adds release template placeholders for the docs image. |
| .github/dependabot.yml | Adds .devcontainer/docs to Dependabot update scope. |
| .devcontainer/docs/requirements.txt | Adds pinned, hashed Python dependencies for docs tooling. |
| .devcontainer/docs/requirements.in | Adds the primary pinned Python dependency input (sbdl). |
| .devcontainer/docs/Dockerfile | Defines the docs image build (apt + pip installs). |
| .devcontainer/docs/devcontainer.json | Adds local development devcontainer definition for docs flavor. |
| .devcontainer/docs/devcontainer-metadata.json | Adds VS Code extension metadata for docs flavor. |
| .devcontainer/docs/apt-requirements.json | Adds pinned apt package versions for docs tooling. |
| .devcontainer/docs-test/devcontainer.json | Adds test devcontainer config for validating built docs images. |
📦 Container Size AnalysisNote Comparing 📈 Size Comparison Table
|
📦 Container Size AnalysisNote Comparing 📈 Size Comparison Table
|
📦 Container Size AnalysisNote Comparing 📈 Size Comparison Table
|
📦 Container Size AnalysisNote Comparing 📈 Size Comparison Table
|
Signed-off-by: Ron <45816308+rjaegers@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> Signed-off-by: Ron <45816308+rjaegers@users.noreply.github.com>
📦 Container Size AnalysisNote Comparing 📈 Size Comparison Table
|
|
Pull Request Report (#1336)Static measures
Time related measures
Status check related measures
|
|
🎉 Hooray! The changes in this pull request went live with the release of v8.0.1 🎉 |



🚀 Hey, I have created a Pull Request
Description of changes
This pull request updates the document generation workflow to use a dedicated container image for its environment, removing the need for manual dependency installation steps. The most important changes are:
Workflow environment update:
generate-documentsjob in.github/workflows/wc-document-generation.ymlnow runs inside theghcr.io/philips-software/amp-devcontainer-docs:v8.0.0container, ensuring a consistent and pre-configured environment for document generation.Simplification of setup steps:
plantumlandsbdl) from the workflow, as these are now expected to be provided by the container image.✔️ Checklist